package jp.co.nes.awssupport.common.bean;

import org.apache.commons.lang3.builder.ReflectionToStringBuilder;

/**
 * IAMユーザ。<br>
 */
public class IamUserBean extends BaseBean {

    /** serialVersionUID */
    private static final long serialVersionUID = 1L;

    /** IAMユーザID */
    private String iamUserId;

    /** アクセスキー */
    private String accessKey;

    /** セキュリティキー */
    private String securityKey;

    /** 定義バージョン */
    private String defVersion;

    /**
     * デフォルトコンストラクタです。
     */
    public IamUserBean() {
    }

    /**
     * IAMユーザIDを取得します。
     * @return IAMユーザID
     */
    public String getIamUserId() {
        return iamUserId;
    }

    /**
     * IAMユーザIDを設定します。
     * @param iamUserId IAMユーザID
     */
    public void setIamUserId(String iamUserId) {
        this.iamUserId = iamUserId;
    }

    /**
     * アクセスキーを取得します。
     * @return アクセスキー
     */
    public String getAccessKey() {
        return accessKey;
    }

    /**
     * アクセスキーを設定します。
     * @param accessKey アクセスキー
     */
    public void setAccessKey(String accessKey) {
        this.accessKey = accessKey;
    }

    /**
     * セキュリティキーを取得します。
     * @return セキュリティキー
     */
    public String getSecurityKey() {
        return securityKey;
    }

    /**
     * セキュリティキーを設定します。
     * @param securityKey セキュリティキー
     */
    public void setSecurityKey(String securityKey) {
        this.securityKey = securityKey;
    }

    /**
     * 定義バージョン を返却します。
     * @return 定義バージョン
     */
    public String getDefVersion() {
        return defVersion;
    }

    /**
     * 定義バージョン を設定します。
     * @param defVersion 定義バージョン
     */
    public void setDefVersion(String defVersion) {
        this.defVersion = defVersion;
    }

    /**
     * アクセスキー、セキュリティキーを除外した文字列表現を返却します。
     */
    @Override
    public String toString() {
        return new ReflectionToStringBuilder(this).setExcludeFieldNames(new String[] { "accessKey", "securityKey" })
                .toString();
    }
}
